<?php
class Catalog extends Controller
{
	public function _default()
	{
		$this->lists();
	}
	
	public function add()
	{
		if (isset($_POST['act'])){
			$act = trim($_POST['act']);
			$pid = isset($_REQUEST['pid']) && $_REQUEST['pid'] ? intval($_REQUEST['pid']) : 0;
			$type = isset($_REQUEST['type']) && $_REQUEST['type'] ? trim($_REQUEST['type']) 
					: Util::msgRedirect('请选择栏目类型');
			$name = isset($_REQUEST['name']) && $_REQUEST['name'] ? trim($_REQUEST['name'])
					: Util::msgRedirect('缺少栏目名称');
			$memo = isset($_REQUEST['memo']) && $_REQUEST['memo'] ? trim($_REQUEST['memo'])
					: '';
			$tpl = isset($_REQUEST['tpl']) && $_REQUEST['tpl'] ? trim($_REQUEST['tpl'])
					: '';
			$priority = isset($_REQUEST['priority']) ? intval($_REQUEST['priority']) : 100;
			
			if ($act=='add'){
				$cid = CatalogModel::add($name, $pid, $type, $memo, $priority, $tpl);
				if ($cid){
					Util::msgRedirect('操作成功', '/Admin/Catalog/');
				}else{
					Util::msgRedirect('操作失败');
				}
			}else{
				$cid = isset($_REQUEST['cid']) && $_REQUEST['cid'] ? intval($_REQUEST['cid']) : Util::msgRedirect('缺少栏目ID');
				$data = array(
					'pid'	=> $pid,
					'type'	=> $type,
					'name'	=> $name,
					'memo'	=> $memo,
					'tpl'	=> $tpl,
					'priority'	=> $priority,
				);
				if (CatalogModel::update($cid, $data)){
					Util::msgRedirect('操作成功', '/Admin/Catalog');
				}else{
					Util::msgRedirect('操作失败');
				}
			}
		}else{
			$this->assign('types', CatalogModel::$types);
			$this->assign('catalogList', CatalogModel::getList());
			$this->display('catalog_add.tpl');
		}
	}
	
	public function edit()
	{
		$cid = isset($_REQUEST['cid']) && $_REQUEST['cid'] ? intval($_REQUEST['cid']) : Util::msgRedirect('缺少栏目ID');
		$catalog = CatalogModel::get($cid);
		if (!$catalog) {
			Util::msgRedirect('栏目信息不存在');
		}
		$this->assign('act', 'edit');
		$this->assign('catalog', $catalog);
		$this->add();
	}
	
	public function del()
	{
		$cid = isset($_REQUEST['cid']) && $_REQUEST['cid'] ? intval($_REQUEST['cid']) : Util::msgRedirect('缺少栏目ID');
		if (CatalogModel::delete($cid)){
			Util::msgRedirect('删除成功', '/Admin/Catalog');
		}else{
			Util::msgRedirect('删除失败');
		}
	}
	
	public function lists()
	{
		$catalogList = CatalogModel::getList(0);
		$this->assign('catalogList', $catalogList);
		$this->display('catalog.tpl');
	}
}